﻿#nullable enable

using System;

namespace PHMEE.EnergyEfficiency;

/// <summary>
/// 航次 Dto
/// </summary>
public class VoyageDto
{
    /// <summary>
    /// 航次号
    /// </summary>
    public string VoyageNumber { get; set; } = null!;
    
    /// <summary>
    /// 航次的出发港 Code
    /// </summary>
    public string VoyageFrom { get; set; } = null!;

    /// <summary>
    /// 航次的目的地港 Code
    /// </summary>
    public string VoyageTo { get; set; } = null!;
    
    /// <summary>
    /// 开始时间（如果航次头部被查询的日期范围所截断，StartTime 就是第一个 log abstract 的 Ts）
    /// </summary>
    public DateTime StartTime { get; set; }

    /// <summary>
    /// 结束时间（如果航次尾部被查询的日期范围所截断，EndTime 就是最后一个 log abstract 的 Ts）
    /// </summary>
    public DateTime EndTime { get; set; }
    
    /// <summary>
    /// 结束时间与开始时间之间的小时数（精确到小数）
    /// </summary>
    public float HoursUnderway => (float)(EndTime - StartTime).TotalHours;
    
    /// <summary>
    /// 是否是 STS 航次
    /// </summary>
    public bool IsSTS { get; set; } = false;
}